1. Field of the Invention
The invention relates generally to integrated circuits having repeated logic and interconnect structures provided therein. The invention relates more specifically to providing time-shared access to limited interconnect resources within field programmable gate arrays (FPGA""s).
2a. Cross Reference to Related Applications
The following co-pending U.S. patent applications(s) are owned by the owner of the present application and their disclosures are incorporated herein by reference:
(A) Ser. No. 08/948,306 filed Oct. 9, 1997 by Om P. Agrawal et al. and originally entitled, xe2x80x9cVARIABLE GRAIN ARCHITECTURE FOR FPGA INTEGRATED CIRCUITSxe2x80x9d;
(B) Ser. No. 08/996,361 filed Dec. 22, 1997, by Om Agrawal et al. and originally entitled, xe2x80x9cSYMMETRICAL, EXTENDED AND FAST DIRECT CONNECTIONS BETWEEN VARIABLE GRAIN BLOCKS IN FPGA INTEGRATED CIRCUITSxe2x80x9d;
(C) Ser. No. 08/995,615 filed Dec. 22, 1997, by Om Agrawal et al. and originally entitled, xe2x80x9cA PROGRAMMABLE INPUT/OUTPUT BLOCK (IOB) IN FPGA INTEGRATED CIRCUITSxe2x80x9d;
(D) Ser. No. 08/995,614 filed Dec. 22, 1997, by Om Agrawal et al. and originally entitled, xe2x80x9cINPUT/OUTPUT BLOCK (IOB) CONNECTIONS TO MAXL LINES, NOR LINES AND DENDRITES IN FPGA INTEGRATED CIRCUITSxe2x80x9d;
(E) Ser. No. 08/995,612 filed Dec. 22, 1997, by Om Agrawal et al. and originally entitled, xe2x80x9cFLEXIBLE DIRECT CONNECTIONS BETWEEN INPUT/OUTPUT BLOCKS (IOBs) AND VARIABLE GRAIN BLOCKs (VGBs) IN FPGA INTEGRATED CIRCUITSxe2x80x9d;
(F) Ser. No. 08/997,221 filed Dec. 22, 1997, by Om Agrawal et al. and originally entitled, xe2x80x9cPROGRAMMBLE CONTROL MULTIPLEXING FOR INPUT/OUTPUT BLOCKS (IOBs) IN FPGA INTEGRATED CIRCUITSxe2x80x9d;
(G) Ser. No. 09/008,762 filed Jan. 19, 1998 by Om Agrawal et al. and originally entitled, xe2x80x9cSYNTHESIS-FRIENDLY FPGA ARCHITECTURE WITH VARIABLE LENGTH AND VARIABLE TIMING INTERCONNECTxe2x80x9d; and
(H) Ser. No. 08/996,049 filed Dec. 22, 1997 by Om Agrawal et al. and originally entitled xe2x80x9cDUEL PORT SRAM MEMORY FOR RUN-TIME USE IN FPGA INTEGRATED CIRCUITSxe2x80x9d.
2b. Cross Reference to Related Patents
The following U.S. patent(s) are related to the present application and their disclosures are incorporated herein by reference:
(A) U.S. Pat. No. 5,212,652 issued May 18, 1993 to Om Agrawal et al, (filed as Ser. No. 07/394,221 on Aug. 15, 1989) and entitled, PROGRAMMABLE GATE ARRAY WITH IMPROVED INTERCONNECT STRUCTURE;
(B) U.S. Pat. No. 5,621,650 issued Apr. 15, 1997 to Om Agrawal et al, and entitled, PROGRAMMABLE LOGIC DEVICE WITH INTERNAL TIME-CONSTANT MULTIPLEXING OF SIGNALS FROM EXTERNAL INTERCONNECT BUSES; and
(C) U.S. Pat. No. 5,185,706 issued Feb. 9, 1993 to Om Agrawal et al.
3. Description of the Related Art
As density within integrated circuits (IC""s) of digital logic circuitry increases, and as signal processing speed of such logic also increases, the ability to couple respective signals to an appropriate kinds of interconnect resource becomes more difficult.
Artisans have begun to recognize that conductors of different lengths and orientations should be provided for servicing different kinds of signals in programmable logic arrays. By way of example, a first class of relatively long and relatively low-resistance conductors are included for broadcasting common control signals (e.g., clock, clock enable, etc.) over relatively large distances of the IC device with minimal skew. Such special conductors are sometimes referred to as low-skew longlines.
As a further example, some wire segments are dedicated for transmitting logic input and logic output signals between immediately adjacent logic sections without routing through general switch matrices. These dedicated conductors are sometimes referred to as direct-connect lines.
At the same time that specialized conductors are provided, artisans strive to continue to provide field programmable logic arrays with general-purpose conductors and general-purpose routing switches for carrying out general-purpose, programmable routing of signals.
With all different kinds of conductors competing for space within the interconnect layers of an IC, the numbers of conductors for each kind of specialized interconnect resource (e.g., longlines) at each location becomes a relatively limited resource. Every signal within a complex design cannot be allowed to have its own dedicated interconnect line. If it were otherwise, the limited interconnect resources of the field-programmable array device would soon be exhausted. Fortunately, many designs allow for the transmission of plural signals at different times over a shared interconnect line. Such sharing may come in the form of time-domain multiplexing or burst-mode operations.
A number of different circuit techniques have been developed for allowing multiple signals to share a same interconnect line. Multiple tristate drivers may be used for example, with each tristate driver becoming a line master at a different time while the other tristate drivers of the same line go into a high-impedance output mode. The line-driving signal of that moment then passes without contention onto the shared line through its line-mastering, tristate (three state) driver.
In an alternative approach, a shared wire is urged towards a predefined logic state by means of a pull-up or pull-down resistor. An open-drain technology is then used to implement a wired-OR circuit on the urged line. Sharing signals OR into the shared line at different times. If desired, a logical ORring of simultaneous signals may be carried out on the so-driven line.
A third approach provides a dedicated multiplexer for driving the shared line. At each given time, an appropriately desired signal is selected by the dedicated multiplexer for output onto the shared line.
Each of these approaches has drawbacks. Tristate drivers tend to consume more circuit area than two-state drivers. They also generally need specialized control circuits for controlling their output-enable (OE) terminals so that contention and crowbar currents will be avoided. Wired-OR circuits tend to consume more power than purely CMOS circuits. Dedicated multiplexers are wasteful if it happens that their full selection capabilities are not utilized in a given design implementation.
An improved multiplexing scheme in accordance with the invention uses a Variable Grain Architecture (VGA) for synthesizing from primitive building elements (CBE""s) an appropriate amount of dynamic multiplexing capability for each given task. Unused ones of such Configurable Building Elements (CBE""s) may be reconfigured to carry out logic functions in place of dynamic multiplexing functions.
In one embodiment, each CBE may be programmably configured to provide no more than a 2-to-1 dynamic multiplexer (2:1 DyMUX). The dynamically-selectable output of such a synthesized 2:1 DyMUX may then be output onto a shared interconnect line. In the same embodiment, pairs of CBE""s may be folded-together or synthetically combined to efficiently define 4-to-1 dynamic multiplexers (4:1 DyMUX""s) with each such 4:1 multiplexer occupying a Configurable Building Block (CBB) structure. The dynamically-selectable output of each 4:1 DyMUX may then be output onto a shared interconnect line that is drivable by the CBB. Pairs of CBB""s may be folded-together or synthetically combined in the same embodiment to efficiently define 8-to-1 dynamic multiplexers (8:1 DyMUX""s) with each such synthesized 8:1 multiplexer occupying a vertically or horizontally-extending leg portion of an L-shaped, VGB structure (Variable Grain Block). The so-configured leg portion of the VGB may then output the signal selected by its 8:1 DyMUX onto a shared interconnect line that is drivable by the VGB leg.
If desired, intraconnect lines within each VGB (feedback lines) may be used in the same embodiment to efficiently define 13-to-1 dynamic multiplexers (13:1 DyMUX""s) with each such synthesized 13:1 multiplexer occupying its respective VGB. The so-configured VGB may then output the signal selected by its 13:1 DyMUX onto a shared interconnect line that is drivable by the VGB.
At each progressive step of synthesizing larger and larger dynamic multiplexers, remaining portions of the configurable logic may be used for synthesizing other logic functions. Thus the dynamic multiplexers can be variably tailored to consume only as much of the logic resources with the FPGA as are needed for such multiplexing.
The 4:1 dynamic multiplexers, 8:1 DyMUX""s and 13:1 DyMUX""s described here may be synthesized without unnecessarily using interconnect resources outside the VGB (other than the feedback lines for the 13:1 DyMUX""s). Thus interconnect resources are preserved and amplified by allowing for time multiplexing of signals onto shared conductors.
Other aspects of the invention will become apparent from the below detailed description.